---
title: Cloudflare Workers 传输
description: Connect your Agents SDK agents from Cloudflare Workers/workerd using a dedicated transport.
---

import { Aside, Steps, Code } from '@astrojs/starlight/components';
import cloudflareBasicExample from '../../../../../../examples/docs/extensions/cloudflare-basic.ts?raw';

Cloudflare Workers 和其他 workerd 运行时无法使用全局的 `WebSocket` 构造函数发起出站 WebSocket 连接。为便于在这些环境中连接实时智能体（Realtime Agents），extensions 包提供了一个专用传输，在内部使用基于 `fetch()` 的升级。

<Aside type="caution">
  此适配器仍处于测试阶段。您可能会遇到边缘情况或错误。 请通过 [GitHub
  issues](https://github.com/openai/openai-agents-js/issues)
  报告问题，我们会尽快修复。 若希望在 Workers 中使用类 Node.js 的 API，考虑启用
  `nodejs_compat`。
</Aside>

## 设置

<Steps>

1. **安装 extensions 包。**

   ```bash
   npm install @openai/agents-extensions
   ```

2. **创建一个传输并将其附加到会话。**

   <Code lang="typescript" code={cloudflareBasicExample} />

3. **连接你的 `RealtimeSession`。**

   ```typescript
   await session.connect({ apiKey: 'your-openai-ephemeral-or-server-key' });
   ```

</Steps>

## 说明

- Cloudflare 传输在底层使用带有 `Upgrade: websocket` 的 `fetch()`，并跳过等待套接字的 `open` 事件，这与 workerd API 保持一致。
- 使用该传输时，所有 `RealtimeSession` 功能（工具、护栏等）均可照常工作。
- 使用 `DEBUG=openai-agents*` 在开发期间查看详细日志。
